/*
 * Copyright (c) 2007-2020 西安交通信息投资营运有限公司 版权所有
 */

package com.xci.edu.core.filter;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.github.lvyanyang.core.BaseFilter;
import com.github.lvyanyang.core.BasePageFilter;
import com.github.lvyanyang.core.Const;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;

/**
 * 学员信息过滤对象
 * @author 张谦 zhangqian@xci96716.com
 * @since 2020-11-24 15:29:29"
 */
@Builder
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "学员信息过滤对象")
public class EduStudentFilter extends BasePageFilter {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", position = 1)
    private Long id;

    /**
     * 学员姓名
     */
    @ApiModelProperty(value = "学员姓名", position = 2)
    private String name;

    /**
     * 学员密码
     */
    @ApiModelProperty(value = "学员密码", position = 3)
    private String pwd;

    /**
     * 姓名简拼
     */
    @ApiModelProperty(value = "姓名简拼", position = 4)
    private String spell;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别", position = 5)
    private String sex;

    /**
     * 身份证号码
     */
    @ApiModelProperty(value = "身份证号码", position = 6)
    private String idNumber;

    /**
     * 手机号码
     */
    @ApiModelProperty(value = "手机号码", position = 7)
    private String phone;

    /**
     * 电子邮件
     */
    @ApiModelProperty(value = "电子邮件", position = 8)
    private String email;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址", position = 9)
    private String address;

    /**
     * 科目主键
     */
    @ApiModelProperty(value = "科目主键", position = 10)
    private Long eduCategoryId;

    /**
     * 科目名称
     */
    @ApiModelProperty(value = "科目名称", position = 11)
    private String eduCategoryName;

    /**
     * 培训计划主键
     */
    @ApiModelProperty(value = "培训计划主键", position = 12)
    private Long planId;

    /**
     * 培训计划名称
     */
    @ApiModelProperty(value = "培训计划名称", position = 13)
    private String planName;

    /**
     * 已培训总学时(秒)
     */
    @ApiModelProperty(value = "已培训总学时(秒)", position = 14)
    private Integer trainTotalPeriod;

    /**
     * 状态 [0-预报名, 1-报名中, 2-学习中, 3-准备考试, 4-考试中, 5-完成]
     */
    @ApiModelProperty(value = "状态 [0-预报名, 1-报名中, 2-学习中, 3-准备考试, 4-考试中, 5-完成]", position = 15)
    private Integer status;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", position = 16)
    private String remark;

    /**
     * 操作人主键
     */
    @ApiModelProperty(value = "操作人主键", position = 17)
    private Long operateUserId;

    /**
     * 操作人
     */
    @ApiModelProperty(value = "操作人", position = 18)
    private String operateUserName;

    /**
     * 操作时间
     */
    @ApiModelProperty(value = "操作时间", position = 19)
    private Date operateDateTime;

}